import request from '@/utils/request';
import { AxiosPromise } from 'axios';
import {StockCheckVO} from "@/views/wms/stockCheck/api";

/**
 * 查询库存数量列表
 * @param query
 * @returns {*}
 */

export const listStock = (query?: StockVO): AxiosPromise<StockVO[]> => {
  return request({
    url: '/wms/stock/list',
    method: 'get',
    params: query
  });
};

/**
 * 查询库存数量详细
 * @param id
 */
export const getStock = (id: number): AxiosPromise<StockVO> => {
  return request({
    url: '/wms/stock/' + id,
    method: 'get'
  });
};
/**
 * 库存盘点 发送
 * @param data
 */
export const send = (data: StockCheckVO) => {
  return request({
    url: '/wms/stock/send',
    method: 'put',
    data: data
  });
};
/**
 * 库存盘点 执行
 * @param data
 */
export const setStock = (data: StockCheckVO) => {
  return request({
    url: '/wms/stock/setStock',
    method: 'put',
    data: data
  });
};

// /**
//  * 新增库存数量
//  * @param data
//  */
// export const addStock = (data: StockForm) => {
//   return request({
//     url: '/wms/stock',
//     method: 'post',
//     data: data
//   });
// };
//
// /**
//  * 修改库存数量
//  * @param data
//  */
// export const updateStock = (data: StockForm) => {
//   return request({
//     url: '/wms/stock',
//     method: 'put',
//     data: data
//   });
// };
//
// /**
//  * 删除库存数量
//  * @param id
//  */
// export const delStock = (id: number | Array<number>) => {
//   return request({
//     url: '/wms/stock/' + id,
//     method: 'delete'
//   });
// };

export interface StockVO extends BaseEntity, PageQuery {
    /** ID */
      id?: string | number;
    /** 物品码 */
      productId?: string | number;

    /** 单位 */
      measureUnit?: string;

    /** 批次号 */
      batchCode?: string;

    /** 仓库 */
      warehouseId?: number;

    /** 库位 */
      areaId?: string | number;

    /** 供应商 */
      supplierId?: string | number;

    /** 生产厂商 */
      manufacturerId?: string | number;

    /** 在库数量 */
      quantity?: number;

    /** 采购单价 */
      purchasePrice?: number;

    /** 库存有效期 */
      expireDate?: Date;

    /** 备注 */
      remark?: string;

  /* 其他表属性 */
  /** 产品名 */
  productName?: string;

  /** 规格 */
  specification?: string;

  /** 单价 */
  price?: number;

  /** 仓库名 */
  wareName?: string;

  /** 供应商 */
  partnerName?: string;

  /** 供应商 */
  isStock?: boolean;

  /** 供应商 */
  isSales?: boolean;

  /** 供应商 */
  isMaterial?: boolean;

  /** 供应商 */
  sku?: string;

}
